#ifndef VNAV_OBJECT_FACTORY_H
#define VNAV_OBJECT_FACTORY_H

// class ObjectFactory
// {
// public:
// 	template <typename T>
// 	void Register(VNString& name)
// 	{
// 		m_createFuncMap[name] = &createFunc<T>;
// 	}
// 
// 	template <typename T>
// 	T* Create()
// 	{
// 		//std::map<VNString, pCreateFunc>::iterator it = m_createFuncMap.find();
// 	}
// private:
// 	template <typename T>
// 	static T* createFunc()
// 	{
// 		return new T;
// 	}
// 
// 	template <typename T>
// 	typedef T* (*pCreateFunc)();
// 	std::map<VNString, pCreateFunc> m_createFuncMap;
// };

#endif